package com.emm.yixun.marketing.service;
import javax.jws.WebService;
import com.emm.yixun.common.model.Retain;
import com.emm.yixun.common.model.User;
import com.emm.yixun.common.model.dto.RetainDetailView;
import com.emm.yixun.common.model.dto.RetainDto;
import com.emm.yixun.common.page.Page;
import com.emm.yixun.common.response.Response;
import com.emm.yixun.common.response.ResponseList;

@WebService
public interface RetainServiceFacade {
	/**
	 * 新增
	 */
	Response<RetainDto> save(RetainDto dto,User user);

	/**
	 * 修改,当selective=true时修改非空列,当selective=false修改所有列
	 */
	Response<Integer> updateByPrimaryKey(RetainDto dto, Boolean selective);

	/**
	 * 逻辑删除
	 */
	Response<Integer> deleteByPrimaryKey(Long id);

	/**
	 * 主键查询
	 */
	Response<Retain> findById(Long id);

	/**
	 * 根据dto查询记录
	 */
	ResponseList<Retain> findByDto(RetainDto dto);

	/**
	 * 根据dto以及分页参数查询记录
	 */
	Page<Retain> findPageByDto(RetainDto dto, Integer begin, Integer row);

	/**
	 * 根据dto以及分页参数查询记录
	 */
	Response<Page<RetainDto>> getRetainDtoList(RetainDto reqDto, Integer pageSize, Integer pageNum);
	
	/**
	* 方法描述 : 保留信息详情
	* 创建者：ThinkPad 
	* 项目名称： emm-marketing-api
	* 类名： RetainServiceFacade.java
	* 版本： v1.0
	* 创建时间： 2016年7月6日 上午11:27:15
	* @param id
	* @return RetainDetailView
	 */
	public RetainDetailView findRetainDetailById(Long id);
	/**
	* 方法描述 : 房间对象
	* 创建者：ThinkPad 
	* 项目名称： emm-marketing-api
	* 类名： RetainServiceFacade.java
	* 版本： v1.0
	* 创建时间： 2016年7月6日 下午2:39:43
	* @param rdv
	* @param id
	* @return RetainDetailView
	 */
	public RetainDetailView getProjectRoomInfo(RetainDetailView rdv,Long id);
	/**
	* 方法描述 : 房间状态撤销,保留变成可售
	* 创建者：ThinkPad 
	* 项目名称： emm-marketing-api
	* 类名： RetainServiceFacade.java
	* 版本： v1.0
	* 创建时间： 2016年7月6日 下午2:40:46
	* @return Response<Boolean>
	 */
	public Response<Boolean> roomStatusRevoke(Long id,User user,String remark);
	/**
	* 方法描述 : 自动解除保留
	 */
	public void taskRun(); 
	

	
	
	
	
}
